// 封装分类数据业务相关代码
import { ref, onMounted } from 'vue'
import { onBeforeRouteUpdate } from 'vue-router'
import { getCategroyAPI } from '@/apis/categroy'
// 在组件内部获取我们的路由参数
import { useRoute } from 'vue-router'

export function useCategroy() {
  const categroyData = ref({})
  const route = useRoute()
  // 如果底下的onBeforeRouteUpdate传了参数上来就已传的为主是最新的 如果不传的话就是一个默认参数
  const getCategroy = async (id = route.params.id) => {
    const res = await getCategroyAPI(id)
    categroyData.value = res.result
  }
  onMounted(() => {
    getCategroy()
  })
  // 路由参数发生变化的时候 可以把分类数据接口重新发送
  // to代表跳转后的路由对象
  onBeforeRouteUpdate((to) => {
    getCategroy(to.params.id)
  })
  return {
    categroyData
  }
}
